import request from '../utils/request'

/**
 * 封装：用户相关接口
 */

/**
  * 登录接口
  * @param {*} data 手机号和验证码
  */
export function login (data) {
  // 返回一个请求的Promise
  return request.post('authorizations', data)
}

/**
 * 关注用户
 * @param {*} target 用户ID
 */
export function follow (target) {
  return request.post('user/followings', { target })
}

/**
 * 取关用户
 * @param {*} target 用户ID
 */
export function unFollow (target) {
  return request.delete(`user/followings/${target}`)
}

/**
 * 获取用户个人信息：根据拦截器header部分的token
 */
export function getUserInfo () {
  return request.get('user')
}

/**
 * 获取个人中心用户编辑资料信息
 */
export function getUserProfile () {
  return request.get('user/profile')
}

/**
 * 修改用户头像
 * @param {*} photoFile 上传对文件对象
 */
export function updateUserPhoto (photoFile) {
  // 通过FormData对象传递数据
  const fd = new FormData()
  fd.append('photo', photoFile)
  return request.patch('user/photo', fd)
}

/**
 * 修改用户信息
 * @param {String} name - 用户名
 * @param {Integer} gender - 性别 0 男 1 女
 * @param {String} birthday - 生日
 */
export const updateUserInfo = ({ name, gender, birthday }) => {
  return request.patch('user/profile', { name, gender, birthday })
}
